﻿//#define _CRT_SECURE_NO_WARNINGS  1
////一定要动手，例子不管多么简单，建议至少自己手敲一遍看看是否理解了里头的细枝末节。
////一定要学会思考，思考为什么要这样，而不是那样。还要举一反三地思考
//#include<string>
//#include<iostream>
//using namespace std;
//class Base {
//public:
//	//烧水
//	virtual void Biol() = 0;
//	//冲泡
//	virtual void Brew() = 0;
//	//倒入杯中
//	virtual void PourInCup() = 0;
//	//加料
//	virtual void AddSomethinig() = 0;
//	void Sum()
//	{
//		//烧水
//		 Biol();
//		//冲泡
//		Brew();
//		//倒入杯中
//		 PourInCup();
//		//加料
//		AddSomethinig();
//	}
//}; 
////制作咖啡
//class Coffee :public Base {
//	//烧水
//	virtual void Biol()
//	{
//		cout << "加入矿泉水" << endl;
//	}
//	//冲泡
//	virtual void Brew() {
//		cout << "加入咖啡粉" << endl;
//	}
//	//倒入杯中
//	virtual void PourInCup() {
//		cout << "过滤，残渣" << endl;
//	}
//	//加料
//	virtual void AddSomethinig() {
//		cout << "加入牛奶和糖" << endl;
//	}
//};
////制作tea
//class Tea :public Base {
//	
//	//烧水
//	virtual void Biol()
//	{
//		cout << "烧开水" << endl;
//	}
//	//冲泡
//	virtual void Brew()
//	{
//		cout << "加入茶叶" << endl;
//	}
//	//倒入杯中
//	virtual void PourInCup()
//	{
//		cout << "倒出第一次泡的茶" << endl;
//	}
//	//加料
//	virtual void AddSomethinig()
//	{
//		cout << "加入枸杞" << endl;
//	}
//};
//void dowork(Base* kind)//Base* kind  =  Coffee
//{
//	kind->Sum();
//	delete kind;
//}
//void test()
//{
//	Base* kind = new Coffee;
//	dowork(kind);
//	cout << "--------------------------" << endl;
//	dowork(new Tea);
//}
//int main()
//{
//	test();
//	return 0;
//}